package old_question_new_working;

/**
 * Author: 笨蛋超人不会飞
 * Date:  13:22
 */
public class q_53 {
}
class Solution_53 {
    public int maxSubArray(int[] nums) {
        int len=nums.length;
        int arr[]=new int[len];
//        先定义max原始值是一个无限小的数值
        int max=-1000000;
//        我的思想是动态规划的思想
        for (int i = 1; i < len; i++) {
            arr[i]=arr[i-1]+nums[i-1]>0?arr[i-1]+nums[i-1]:0;
            if(max<arr[i-1]+nums[i-1]){
                max=arr[i-1]+nums[i-1];
            }
        }
//      考虑最后一个的情况
        if(max<nums[len-1]+arr[len-1]){
            max=nums[len-1]+arr[len-1];
        }
        return max;


    }
}